<?
class TemplateProduct{
   var $fieldsort = '';//Sắp xếp theo trường nào
   var $sort		= '';//Sắp xếp tăng hay giảm
   var $page		= 1;//Trang hiện tại
   var $page_size = 4;
   var $page_size_connection = 4;//Kích cỡ 1 trang hiển thị bao nhiêu kết quả
   public function products() {
     $pro = db_array('SELECT *
                     FROM products
                     WHERE pro_active = 1
                     ORDER BY pro_order
                     LIMIT '.($this->page - 1)*$this->page_size.' ,'.$this->page_size);
     return $pro;
   }  
   public function products_total() {
     $arr = db_array('SELECT pro_id
                     FROM products
                     WHERE pro_active = 1
                     ');
     return count($arr);
   }    
   public function pro_detail($pro_id) {
     $arr = db_first('SELECT *
                     FROM products
                     WHERE pro_id ='.$pro_id);
     return $arr;
   }   
   /**
    * ---------------------------------------------------------------------------------------------------------
    * lấy sản phẩm theo chuỗi mã sản phẩm
    * ---------------------------------------------------------------------------------------------------------
   */
   public function pro_code($arr_pro_code) {
      $str_pro_id = '0';
      foreach($arr_pro_code as $row){
         $pro_id = db_one("SELECT pro_id FROM products WHERE pro_code = '".$row."'");
         if(!$pro_id) return NULL;
         $str_pro_id .= $pro_id.',';
      }
      $str_pro_id = rtrim($str_pro_id,',');
     $arr = db_array('SELECT *
                     FROM products
                     WHERE pro_id IN( '.$str_pro_id.' )');
     return $arr;
   }   
   /**
    * ---------------------------------------------------------------------------------------------------------
    * lấy sản phẩm theo danh mục
    * ---------------------------------------------------------------------------------------------------------
   */
   public function pro_cat($pro_cat_id) {
     $arr = db_array('SELECT *
                     FROM products
                     WHERE pro_cat_id IN('.$pro_cat_id.' )
                     ORDER BY pro_id DESC
                     LIMIT '.($this->page - 1)*$this->page_size.' ,'.$this->page_size);
     return $arr;
   }   
   /**
    * ---------------------------------------------------------------------------------------------------------
    * lấy sản phẩm theo danh mục
    * ---------------------------------------------------------------------------------------------------------
   */
   public function pro_cat_total($pro_cat_id) {
     $arr = db_array('SELECT pro_id
                     FROM products
                     WHERE pro_cat_id IN('.$pro_cat_id.' )');
      return count($arr);
   }   
   /**
    * ---------------------------------------------------------------------------------------------------------
    * lấy sản phẩm liên quan (cùng danh mục)
    * ---------------------------------------------------------------------------------------------------------
   */
   public function pro_connection($pro_id,$pro_cat_id) {
     $arr = db_array('SELECT *
                     FROM products
                     WHERE pro_cat_id ='.$pro_cat_id.' AND pro_id != '.$pro_id.' 
                     ORDER BY RAND()
                     LIMIT '.($this->page - 1)*$this->page_size_connection.' ,'.$this->page_size_connection);
     return $arr;
   }   
   /**
    * ---------------------------------------------------------------------------------------------------------
    * lấy id danh mục cha theo danh mục con
    * ---------------------------------------------------------------------------------------------------------
   */
   public function product_cat_parent_id($child_id){
      $cat_parent_id = db_one("SELECT cat_parent_id 
                            FROM categories_multi
                            WHERE cat_type = 'product' AND cat_active = 1 AND cat_id =" . $child_id);
      return $cat_parent_id;
   }
   /**
    * ---------------------------------------------------------------------------------------------------------
    * lấy id danh mục con theo danh mục cha
    * ---------------------------------------------------------------------------------------------------------
   */
   public function product_cat_child_id($parent_id){
      $cat_child_id = db_array("SELECT cat_id 
                            FROM categories_multi
                            WHERE cat_type = 'product' AND cat_active = 1 AND cat_parent_id =" . $parent_id);
      return $cat_child_id;
   }
   /**
    * ---------------------------------------------------------------------------------------------------------
    * lấy danh mục và các danh mục cha tương ứng của sản phẩm
    * ---------------------------------------------------------------------------------------------------------
   */
   public function pro_cat_all($pro_cat_id){
      $str_cat = $pro_cat_id;
      $cat_parent_id = $this->product_cat_parent_id($pro_cat_id);
      $cat_parent_parent_id = $this->product_cat_parent_id($cat_parent_id);
      if($cat_parent_id) $str_cat .= ','.$cat_parent_id;
      if($cat_parent_parent_id) $str_cat .= ','.$cat_parent_parent_id;
      $arr_cat = db_array("SELECT * 
                              FROM categories_multi WHERE cat_id IN(".$str_cat.")");
      return $arr_cat;
   }
   /**
    * ---------------------------------------------------------------------------------------------------------
    * lấy danh mục và tất cả các danh mục con có liên quan tới danh mục được truyền vào
    * ---------------------------------------------------------------------------------------------------------
   */
   public function pro_cat_child_all($pro_cat_id){
      $str_cat = $pro_cat_id;
      $arr_cat_child_id = $this->product_cat_child_id($pro_cat_id);
      if($arr_cat_child_id){
         foreach($arr_cat_child_id as $row){
            $str_cat .= ','.$row['cat_id'];
            $arr_cat_child_child_id = $this->product_cat_child_id($row['cat_id']);
            if($arr_cat_child_child_id){
               foreach($arr_cat_child_child_id as $row1){
                  $str_cat .= ','.$row1['cat_id'];
               }
            }
         }
      }
      return $str_cat;
   }
   public function pro_cat_id_inf($pro_cat_id) {
     $arr = db_first('SELECT *
                     FROM categories_multi
                     WHERE cat_type = "product"
                     AND cat_id = '.$pro_cat_id);
     return $arr;
   }
}
?>